home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Sapphire Collection
/
Software Vault (Sapphire Collection) (Digital Impact).ISO
/
cdr08
/
finst152.zip
/
ICTRLLER.H_
/
ICTRLLER.H
Wrap
C/C++ Source or Header
|
1994-07-30
|
3KB
|
118 lines
#define __ICTRLLER_H
#ifndef __SAINT_H
#include "saint.h"
#endif
#ifndef __OPRDR_H
#include "oprdr.h"
#endif
#ifndef __RESMGR_H
#include "resmgr.h"
#endif
#ifndef __WINDOWS_H
#include "windows.h"
#endif
#ifndef __INSTALLR_H
#include "installr.h"
#endif
class dcontext;
class installinfo;
class logmover;
class installcontroller
{
friend logmover;
friend LRESULT CALLBACK _export bkwndproc(HWND wnd, UINT msg, WPARAM wpara, LPARAM lpara);
int init(HINSTANCE inst, HINSTANCE pinst);
int createshowbkwnd(HINSTANCE pinst);
void paint();
void movelog();
void drawbktxts(HDC dc);
void drawgradient(HDC dc, RECT &r);
void createbkwndclass();
HWND createbkwnd(int x, int y, int w, int h);
HFONT createbktxtf(dcontext &dc, int i);
public:
installcontroller(int *r, HINSTANCE inst, HINSTANCE pinst);
~installcontroller();
int scrw; /* width of screen (in pixel) */
int scrh; /* height of screen (in pixel) */
int oldemode; /* original error mode */
int issysinichged; /* is system.ini changed? */
char diri[256]; /* install target directory */
HWND bkwnd; /* background window */
saint ics; /* is the component selected? */
saint ifs; /* is the file selected? */
saint iis; /* is the item selected? */
saint ies; /* is the entry selected? */
saint irs; /* is the reg key selected? */
double pnt2pxlx; /* horz factor to convert point (1/72 inch) to pixel */
double pnt2pxly; /* vert factor to convert point (1/72 inch) to pixel */
double spaceneeded; /* hard disk space needed */
resmgr rm; /* free resourced when destructed */
installer ir; /* installer */
HINSTANCE inst; /* instance */
oprecorder rdr; /* operation recorder */
installinfo *ii; /* custom install info obj */
virtual int run() = 0;
char *getdiri()
{
return diri;
}
char *getdirs()
{
return ir.getdirs();
}
char *getdirw()
{
return ir.getdirw();
}
char *getdiry()
{
return ir.getdiry();
}
int askdir();
int welcome();
int copyfiles();
int setregkeys();
int createitems();
int selectcomps();
int setinientries();
void done();
};
class logmover /* call controller to move $w\filog.ini to $i when destructed */
{
int hasmoved;
installcontroller ⁣
public:
logmover(installcontroller &icx):ic(icx)
{
hasmoved = 0;
}
~logmover()
{
move();
}
void move()
{
if (!hasmoved)
{
ic.movelog();
hasmoved = 1;
}
}
};